package com.bonc.modules.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bonc.common.utils.PageUtils;
import com.bonc.common.utils.ReplyCommon;
import com.bonc.common.utils.Result;
import com.bonc.modules.business.entity.TbCommonParamInfoEntity;
import com.bonc.modules.business.entity.TbWorkOederDistributionEntity;
import com.bonc.modules.business.entity.TbWorkOrderInfoEntity;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;

/**
 * 工单派发码表
 *
 * @author feiniao
 * @date 2021-10-11 11:16:14
 */
public interface TbWorkOederDistributionService extends IService<TbWorkOederDistributionEntity> {

    PageUtils queryPage(Map<String, Object> params);

    boolean save(TbWorkOederDistributionEntity tbWorkOederDistribution);

    TbWorkOederDistributionEntity getById(String id);

    AtomicReference<String> postOrderDistributionService(TbWorkOederDistributionEntity tbWorkOederDistribution);

    AtomicReference<String> SyncData(TbWorkOederDistributionEntity tbWorkOederDistribution);

    /*AtomicReference<String> postOrderDistributionService();*/

    String getTokenService();

    ReplyCommon DispatchCSS(TbCommonParamInfoEntity tbCommonParamValue) throws Exception;

    List<TbWorkOederDistributionEntity> getOrderDistributionList();

    List<TbWorkOederDistributionEntity> getOrderDistributionAllList(String date);

    List<TbWorkOederDistributionEntity> getOrderDistributionDataFileList();

    boolean updateById(TbWorkOederDistributionEntity TbWorkOederDistributionEntity);

    List<Map<String, Object>> queryDistributionList();

    PageUtils getOrderDistributionListByParam(Map<String, Object> params);

    PageUtils getSqOrderDistributionListByParam(Map<String, Object> params);

    PageUtils getProblemOrderDistributionListByParam(Map<String, Object> params);

    void downloadLocal(String path, HttpServletResponse response) throws IOException;

    String uploadLocal(MultipartFile file);

    void generateOrderInfoDetail();

}

